package com.xs.calculator_jsq;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {

    //定义对象
    TextView txt_result;
    Button btn_7;
    Button btn_8;
    Button btn_9;
    Button btn_jia;
    Button btn_4;
    Button btn_5;
    Button btn_6;
    Button btn_jian;
    Button btn_1;
    Button btn_2;
    Button btn_3;
    Button btn_cheng;
    Button btn_0;
    Button btn_c;
    Button btn_deng;
    Button btn_chu;
    double num1 = 0,num2 = 0;//声明两个参数，接收数据
    double result = 0;//预算结果
    Boolean isClickdeng = false;//判断是否单机了=号
    String op = "%";//操作符号+—*/
    private Button btn_point;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        //绑定控件
        txt_result = findViewById(R.id.txt_result);
        btn_7 = findViewById(R.id.btn_7);
        btn_8 = findViewById(R.id.btn_8);
        btn_9 = findViewById(R.id.btn_9);
        btn_jia = findViewById(R.id.btn_jia);
        btn_4 = findViewById(R.id.btn_4);
        btn_5 = findViewById(R.id.btn_5);
        btn_6 = findViewById(R.id.btn_6);
        btn_jian = findViewById(R.id.btn_jian);
        btn_1 = findViewById(R.id.btn_1);
        btn_2 = findViewById(R.id.btn_2);
        btn_3 = findViewById(R.id.btn_3);
        btn_cheng = findViewById(R.id.btn_cheng);
        btn_0 = findViewById(R.id.btn_0);
        btn_c = findViewById(R.id.btn_c);
        btn_deng = findViewById(R.id.btn_dengyu);
        btn_chu = findViewById(R.id.btn_chu);
        btn_point = findViewById(R.id.btn_point);

        //按钮的单机事件
        btn_7.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //按钮单击逻辑
                if(isClickdeng){//说明刚单击了=，上一个运算刚结束
                    txt_result.setText("");//重新计算，文本框清空
                    isClickdeng = false;
                }
                txt_result.setText(txt_result.getText().toString()+"7");
            }
        });
        btn_8.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //按钮单击逻辑
                if(isClickdeng){//说明刚单击了=，上一个运算刚结束
                    txt_result.setText("");//重新计算，文本框清空
                    isClickdeng = false;
                }
                txt_result.setText(txt_result.getText().toString()+"8");
            }
        });
        btn_9.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //按钮单击逻辑
                if(isClickdeng){//说明刚单击了=，上一个运算刚结束
                    txt_result.setText("");//重新计算，文本框清空
                    isClickdeng = false;
                }
                txt_result.setText(txt_result.getText().toString()+"9");
            }
        });
        btn_4.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //按钮单击逻辑
                if(isClickdeng){//说明刚单击了=，上一个运算刚结束
                    txt_result.setText("");//重新计算，文本框清空
                    isClickdeng = false;
                }
                txt_result.setText(txt_result.getText().toString()+"4");
            }
        });
        btn_5.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //按钮单击逻辑
                if(isClickdeng){//说明刚单击了=，上一个运算刚结束
                    txt_result.setText("");//重新计算，文本框清空
                    isClickdeng = false;
                }
                txt_result.setText(txt_result.getText().toString()+"5");
            }
        });
        btn_6.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //按钮单击逻辑
                if(isClickdeng){//说明刚单击了=，上一个运算刚结束
                    txt_result.setText("");//重新计算，文本框清空
                    isClickdeng = false;
                }
                txt_result.setText(txt_result.getText().toString()+"6");
            }
        });
        btn_1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //按钮单击逻辑
                if(isClickdeng){//说明刚单击了=，上一个运算刚结束
                    txt_result.setText("");//重新计算，文本框清空
                    isClickdeng = false;
                }
                txt_result.setText(txt_result.getText().toString()+"1");
            }
        });
        btn_2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //按钮单击逻辑
                if(isClickdeng){//说明刚单击了=，上一个运算刚结束
                    txt_result.setText("");//重新计算，文本框清空
                    isClickdeng = false;
                }
                txt_result.setText(txt_result.getText().toString()+"2");
            }
        });
        btn_3.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //按钮单击逻辑
                if(isClickdeng){//说明刚单击了=，上一个运算刚结束
                    txt_result.setText("");//重新计算，文本框清空
                    isClickdeng = false;
                }
                txt_result.setText(txt_result.getText().toString()+"3");
            }
        });
        btn_0.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //按钮单击逻辑
                if(isClickdeng){//说明刚单机了=，上一个运算刚结束
                    txt_result.setText("");//重新计算，文本框清空
                    isClickdeng = false;
                }
                txt_result.setText(txt_result.getText().toString()+"0");
            }
        });
        btn_point.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //按钮单击逻辑
                if(isClickdeng){//说明刚单机了=，上一个运算刚结束
                    txt_result.setText("");//重新计算，文本框清空
                    isClickdeng = false;
                }
                txt_result.setText(txt_result.getText().toString()+".");
            }
        });

        btn_jia.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String st1 = txt_result.getText().toString();//获取点击加号之前的数据类型的数据
                if(st1.equals("")){
                    return;
                }
                num1 = Double.parseDouble(st1);
                txt_result.setText("");
                op = "+";
                isClickdeng = false;
            }
        });
        btn_jian.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String st1 = txt_result.getText().toString();//获取点击加号之前的数据类型的数据
                if(st1.equals("")){
                    return;
                }
                num1 = Double.parseDouble(st1);
                txt_result.setText("");
                op = "-";
                isClickdeng = false;
            }
        });
        btn_cheng.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String st1 = txt_result.getText().toString();//获取点击加号之前的数据类型的数据
                if(st1.equals("")){
                    return;
                }
                num1 = Double.parseDouble(st1);
                txt_result.setText("");
                op = "*";
                isClickdeng = false;
            }
        });
        btn_chu.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String st1 = txt_result.getText().toString();//获取点击加号之前的数据类型的数据
                if(st1.equals("")){
                    return;
                }
                num1 = Double.parseDouble(st1);
                txt_result.setText("");
                op = "/";
                isClickdeng = false;
            }
        });

        btn_c.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                txt_result.setText("");
            }
        });

        btn_deng.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String str2 = txt_result.getText().toString();
                if(str2.equals("")){
                    return;
                }
                num2 = Double.parseDouble(str2);
                txt_result.setText("");
                switch (op){
                    case "+":result = num1 + num2;
                    break;
                    case "-":result = num1 - num2;
                        break;
                    case "*":result = num1 * num2;
                        break;
                    case "/":result = num1 / num2;
                        break;
                    case "%":result = num2;
                        break;
                    default:result = 0.0;
                    break;

                }
//                op = "%";
                txt_result.setText(num1+op+num2+"="+result+"");
                isClickdeng = true;

            }
        });


    }
}
